/*
 * Author: 李波(Edwin Lee)
 * Date: 2024-08-20 02:46:55
 * FilePath: /mprpc/src/include/mprpccontroller.h
 * LastEditTime: 2024-09-03 15:42:06
 * version: 1.0
 * Description: 用于记录异常的类
 */

#ifndef __MPRPCCONTROLLER_H__
#define __MPRPCCONTROLLER_H__
#include <google/protobuf/service.h>
#include <string>

class MprpcController : public google::protobuf::RpcController
{
public:
    MprpcController();
    void Reset();
    bool Failed() const;
    std::string ErrorText() const;
    void SetFailed(const std::string& reason);

    // 目前未实现的功能
    void StartCancel();
    bool IsCanceled() const;
    void NotifyOnCancel(google::protobuf::Closure* callback);
private:
    // rpc方法执行过程中的状态
    bool failed_;
    // rpc方法执行过程中的错误信息
    std::string errText_;
};


  


#endif